﻿using System.Collections.Generic;
using System.Linq;
using CSW.Framework.Common;

namespace LinqBusinessObjectBuilder.Generator
{
    internal class TableInfo
    {
        public string TableName { get; private set; }
        public List<string> PartialMethods { get; private set; }
        public List<string> ForeignKeys { get; private set; }
        public List<PropertyInfo> Properties { get; private set; }
        public List<string> EntityRefs { get; private set; }

        public TableInfo(string tableName)
        {
            Guard.ArgumentNotNullOrEmptyString(tableName, "tableName");

            TableName = tableName;
            PartialMethods = new List<string>();
            ForeignKeys = new List<string>();
            Properties = new List<PropertyInfo>();
            EntityRefs = new List<string>();
        }
    }
}